@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", Arial, sans-serif;
  background-color: #e9f5f2; /* Fundo neutro com leve tom verde */
  padding: 20px;
  text-align: center;
}

#gif {
  width: 100px;
  margin: 20px 0; /* Margem ao redor do GIF */
}

.header {
  display: flex;
  justify-content: center; /* Centraliza horizontalmente */
  align-items: center; /* Centraliza verticalmente */
}

.container {
  max-width: 1900px; /* Flexibilidade com porcentagem */
  margin: 0 auto;
  padding: 2em; /* Adaptação com unidades relativas */
  border-radius: 1em; /* Melhora a escala */
  overflow: auto; /* Garante que o conteúdo não transborde */
  display: flex; /* Ativa o Flexbox no contêiner */
  flex-direction: column; /* Organiza o conteúdo em coluna (opcional) */
  justify-content: center; /* Centraliza verticalmente dentro do contêiner */
  align-items: center; /* Centraliza horizontalmente dentro do contêiner */
  height: 100vh; /* Altura total da viewport, opcional */
}

h1 {
  margin-bottom: 20px;
  color: #1a7a6d; /* Cor dos títulos */
  font-size: 2.8em; /* Aumenta o tamanho do título */
  font-weight: 600; /* Peso do texto */
}

.output-area {
  padding: 25px; /* Mantém o padding */
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); /* Sombra mais suave */
  margin-bottom: 30px;
  width: 100%; /* Define uma largura de 80% do contêiner pai */
  max-width: 1200px; /* Limita a largura máxima */
  margin-left: auto; /* Centraliza horizontalmente */
  margin-right: auto; /* Centraliza horizontalmente */
}

#constructed-phrase {
  overflow-y: hidden;
  overflow-x: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  min-height: 50px;
  margin-bottom: 20px;
  color: #2e4d4d; /* Cor do texto */
  gap: 10px;
  max-width: 100%; /* Garante que o container não fique maior que a largura da tela */
  overflow-x: auto; /* Adiciona rolagem horizontal se o conteúdo exceder a largura */
}

#constructed-phrase div {
  flex-grow: 1;
  flex-basis: 150px; /* Largura mínima que cada div deve ter antes de quebrar a linha */
  min-width: 100px; /* Garante que as divs não fiquem muito pequenas */
  max-width: 200px; /* Limita o tamanho máximo das divs */
}

input[type="text"] {
  width: 100%;
  padding: 10px;
  margin: 10px 0;
  border: 2px solid #15b392; /* Cor da borda do input */
  border-radius: 5px;
  font-size: 18px;
}

button {
  padding: 12px 24px; /* Aumenta o padding */
  font-size: 20px; /* Aumenta o tamanho da fonte */
  background-color: #4ad0a0; /* Cor dos botões */
  color: white;
  border: none;
  border-radius: 8px; /* Bordas arredondadas */
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

button:hover {
  background-color: #47927e; /* Cor ao passar o mouse */
  transform: scale(1.01);
}

.bot {
  padding-bottom: 25px;
}

.alphabet-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 30px; /* Adiciona espaço abaixo da grid */
}

.alphabet {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px; /* Espaço entre os elementos */
}

.letter {
  cursor: pointer;
  border: 2px solid #ccc; /* Cor das bordas */
  padding: 10px; /* Aumenta o padding */
  border-radius: 8px;
  transition: transform 0.3s ease, border-color 0.3s ease;
  background-color: #ffffff; /* Fundo branco para as letras */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Sombra suave */
}

.letter:hover {
  border-color: #36b594; /* Bordas em verde ao passar o mouse */
}

.letter img {
  max-width: 100%;
  height: auto;
  border-radius: 5px;
}

footer {
  margin-top: 40px; /* Aumenta o espaço acima do rodapé */
  padding: 20px 0; /* Aumenta o padding do rodapé */
  background-color: #e9f5f2; /* Cor de fundo do rodapé */
  text-align: center;
  border-top: 2px solid #ccc; /* Linha de separação */
}

footer p {
  color: #333; /* Cor do texto */
  font-size: 16px;
}
